﻿using Sidvall.Collections;

namespace Sidvall.WorkItemManager.Net.Services.V1.ConfigModel
{
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Maintainability", "CA1506:AvoidExcessiveClassCoupling")]
    public partial class EntityCache
    {
        #region Public Members

        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public UserConfigurationCollectionItem UserConfigurationCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public ServerConnectionCollectionItem ServerConnectionCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public ScheduleCollectionItem ScheduleCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public IntervalRetryPolicyCollectionItem IntervalRetryPolicyCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public MonitoredWorkItemCollectionItem MonitoredWorkItemCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public MonitorContextCollectionItem MonitorContextCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public WorkItemAlarmCollectionItem WorkItemAlarmCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public MonitorExecutionContextCollectionItem MonitorExecutionContextCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public IdentityProviderCollectionItem IdentityProviderCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public WebExecutionContextCollectionItem WebExecutionContextCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public WebContextCollectionItem WebContextCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public WebTargetCollectionItem WebTargetCache { get; set; }
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1819:PropertiesShouldNotReturnArrays")]
        public WebResultCollectionItem WebResultCache { get; set; }
        
        #region Clear

        public void Clear()
        {
            this.UserConfigurationCache = null;
            this.ServerConnectionCache = null;
            this.ScheduleCache = null;
            this.IntervalRetryPolicyCache = null;
            this.MonitoredWorkItemCache = null;
            this.MonitorContextCache = null;
            this.WorkItemAlarmCache = null;
            this.MonitorExecutionContextCache = null;
            this.IdentityProviderCache = null;
            this.WebExecutionContextCache = null;
            this.WebContextCache = null;
            this.WebTargetCache = null;
            this.WebResultCache = null;
        }

        #endregion
        
        #endregion
        #region Constructors

        public EntityCache()
        {
        }

        #endregion
    }
}